<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class SearchController extends Controller
{
    //
    public function search(Request $request)
    {
        $str = $request->q;
        $data = $this->csw4($str);
        $sql = 'select * from questions where ';
        foreach($data as $k =>$v){
            $sql.="title like '%".$v['word']."%' or ";
        }
        $sql = rtrim($sql,'or ');
        $questions = DB::select($sql);
        return view('question.search',compact('questions'));
    }
    public function csw4($text)
    {
        // 加入头文件
        require '../libs/pscws4/pscws4.class.php';
        // 建立分词类对像, 参数为字符集, 默认为 gbk, 可在后面调用 set_charset 改变
        $pscws = new \PSCWS4();
// 包括: set_charset, set_dict, set_rule, set_ignore, set_multi, set_debug, set_duality ... 等方法
//
        $pscws->set_charset('utf-8');
        $pscws->set_dict('./csw4/dict.utf8.xdb');
// 分词调用 send_text() 将待分词的字符串传入, 紧接着循环调用 get_result() 方法取回一系列分好的词
// 直到 get_result() 返回 false 为止
// 返回的词是一个关联数组, 包含: word 词本身, idf 逆词率(重), off 在text中的偏移, len 长度, attr 词性
//
        $pscws->send_text($text);
        $tops = $pscws->get_tops(3, 'n,v');
        return $tops;

    }
}
